package org.csu.mybigpro.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

@Service
public class WeatherService {

    // 【修改】注入新的高德API密钥
    @Value("${amap.api.key}")
    private String apiKey;

    // 【不变】使用全局配置好的、带代理的RestTemplate
    @Autowired
    private RestTemplate restTemplate;

    public String getWeatherData(double lat, double lon) {
        // 【修改】构建高德天气API的URL
        // 注意：高德API的location参数格式是 "经度,纬度"
        // extensions=base 表示只获取实时天气
        String url = String.format(
                "https://restapi.amap.com/v3/weather/weatherInfo?location=%f,%f&key=%s&extensions=base",
                lon, lat, apiKey
        );
        try {
            // 这行代码本身不用变，但现在它请求的是高德的URL
            return restTemplate.getForObject(url, String.class);
        } catch (Exception e) {
            e.printStackTrace();
            // 返回一个结构化的错误信息，方便前端处理
            return "{\"status\":\"0\",\"info\":\"无法连接到天气服务\",\"infocode\":\"99999\"}";
        }
    }
}